package com.lemurian.bankdata.lite.enums;

import java.io.Serializable;
import java.util.EnumSet;
import java.util.HashMap;
import java.util.Map;

public enum UserActivityType implements Serializable {

	LOGIN(1),
	
	CHANGE_PASSWORD(2),
	
	ADD_ACTIVITY_TYPES(3),
    UPDATE_ACTIVITY_TYPES(4),
    DELETE_ACTIVITY_TYPES(5),
	
	ADD_MENU(6),
    UPDATE_MENU(7),
    DELETE_MENU(8),
	
	ADD_GROUP(9),
    UPDATE_GROUP(10),
    DELETE_GROUP(11),
    
    ADD_USER(12),
    UPDATE_USER(13),
    DELETE_USER(14),
    
    ADD_CATEGORY(15),
    UPDATE_CATEGORY(16),
    DELETE_CATEGORY(17),
    
    ADD_CERTIFICATE(18),
    UPDATE_CERTIFICATE(19),
    DELETE_CERTIFICATE(20),
    
    REJECT_AO_FOR_CLIENT(21),
    DELEGATE_AO_FOR_CLIENT(22),
    APPROVAL_CLIENT_BY_KEPENGURUSAN(207),
    
    EDIT_FORM_PENANDATANGANAN(23),
    EDIT_AKTA_KEPENGURUSAN_KLIENT(24),
    
    EDIT_STATUS_PAJAK(25),
    EDIT_SUDAH_BAYAR_PAJAK(26),
    EDIT_SUDAH_BAYAR_KE_KANTOR_PAJAK(27),
    
    DELEGATE_LETTER_TYPIS(28),
    
    APPROVAL_MARKETING_HEAD_OF_LETTER_TYPIS(28),
    LETTER_TYPIS_INPUT_FORM_TBO(28),
    
    ADD_COURIER(29),
    UPDATE_COURIER(30),
    DELETE_COURIER(31),
    
    UPDATE_SCHEDULE_SIGNATURE(32),
    
    UPDATE_BPN_PROCESS(33),
    
    DELEGATE_COURIER(34),
    
    UNKNOWN(201);
	
	Integer code;

    UserActivityType(Integer code) {
        this.code = code;
    }

    public Integer code() {
        return code;
    }

    private static final Map<Integer, UserActivityType> lookup = new HashMap<Integer, UserActivityType>();
    private static final Map<String, UserActivityType> lookupString = new HashMap<String, UserActivityType>();

    static {
        for (UserActivityType s : EnumSet.allOf(UserActivityType.class)) {
            getLookup().put(s.code(), s);
            getLookupString().put(s.name(), s);
        }

    }

    public static Map<Integer, UserActivityType> getLookup() {
        return lookup;
    }

    public static Map<String, UserActivityType> getLookupString() {
        return lookupString;
    }
}
